{"version":3,"file":"static/chunks/pages/[team]/content/videos/[slug]-5f8c274c263b5161.js","mappings":"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","sources":["webpack://_N_E/?6767","webpack://_N_E/./src/pages/[team]/content/videos/[slug].tsx","webpack://_N_E/../../packages/ui/src/ErrorHandling/index.tsx","webpack://_N_E/../../packages/ui/src/ThemeWrapper/index.tsx","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[team]/content/videos/[slug]\",\n function () {\n return require(\"private-next-pages/[team]/content/videos/[slug].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[team]/content/videos/[slug]\"])\n });\n }\n ","import React, { useMemo, useState } from \"react\";\n\nimport { useDocumentTitle } from \"@uidotdev/usehooks\";\nimport { NextPage } from \"next\";\nimport dynamic from \"next/dynamic\";\nimport { useSearchParams } from \"next/navigation\";\n\nimport { sizeMaps } from \"lib/dfp\";\nimport { ErrorBoundary } from \"ui/src/ErrorHandling\";\nimport { ThemeWrapper } from \"ui/src/ThemeWrapper\";\nimport { useUserContext } from \"utils/context/UserDetailsContext\";\nimport { getPostSlug } from \"utils/helpers/contentUtils\";\n\nimport ArticleSkeleton from \"@/components/skeletons/Article\";\nimport Page from \"@/layouts/BasePage\";\n\nimport type { SiteProps } from \"utils/types\";\nimport type { AdSlotsMap } from \"utils/types/ads\";\nimport type { VideoPost } from \"utils/types/content\";\n\nconst PostsScroller = dynamic(\n () => import(\"@/components/Content/PostsScroller\"),\n { ssr: false, loading: () => }\n);\n\ninterface Props extends SiteProps {\n post: VideoPost;\n}\n\nconst genericAds: AdSlotsMap = {\n dflex1: {\n adUnit: `/TPL_VOD_Desk_MPU_300_3`,\n size: sizeMaps.flexBoxLarge,\n divId: \"div-gpt-ad-1691707303751-0\",\n },\n mflex1: {\n adUnit: `/TPL_VOD_Mobile_MPU_300_1`,\n size: sizeMaps.mobile,\n divId: \"div-gpt-ad-1691708234172-0\",\n },\n};\n\nconst getTeamAds = (teamName: string): AdSlotsMap => ({\n dflex1: {\n adUnit: `/TPL_${teamName}_VOD_Desk_MPU_300_3`,\n size: sizeMaps.flexBoxLarge,\n divId: \"div-gpt-ad-1696022622643-0\",\n },\n mflex1: {\n adUnit: `/TPL_${teamName}_VOD_Mobile_Leaderboard_320`,\n size: sizeMaps.mobile,\n divId: \"div-gpt-ad-1696022680608-0\",\n },\n});\n\nconst VideoPostPage: NextPage = ({ post, team, ...props }) => {\n const search = useSearchParams();\n const { userGroupWithPermissions, userStatus } = useUserContext();\n\n const [currentPostTitle, setCurrentPostTitle] = useState(post.title);\n useDocumentTitle(`${currentPostTitle} - ${team.shortName}`);\n\n const highlighted = useMemo(() => search.get(\"highlighted\") === \"true\", []);\n\n return (\n \n \n \n {!userGroupWithPermissions?.id && userStatus === \"authenticated\" ? (\n \n ) : (\n \n )}\n \n \n \n );\n};\n\nexport default VideoPostPage;\n\nexport async function getStaticProps({ params }) {\n const { fetchSiteProps } = await import(\"@/utils/fetchers\");\n const { slug, team } = params;\n\n const siteProps = await fetchSiteProps(team);\n\n if (siteProps.team) {\n const { getContentService } = await import(\"api/content-service\");\n const post = await getContentService()\n .posts(siteProps.team.shortName)\n .getVideoPostBySlug(slug);\n\n if (post) {\n return { props: { post, ...siteProps }, revalidate: 60 };\n }\n }\n\n return { notFound: true };\n}\n\nexport async function getStaticPaths() {\n const { getContentService } = await import(\"api/content-service\");\n const { videoPosts } = await getContentService().posts().getAllVideoPosts();\n\n const { getSiteService } = await import(\"api/site-service\");\n const allTeams = await getSiteService().teams().fetchAll();\n\n const postPaths = videoPosts\n .map((post) => {\n return [...allTeams, { id: \"tpl\", shortName: \"TPL\" }].find(\n (t) => t.shortName === post.team.team\n )\n ? {\n params: {\n team: post.team.team.toLowerCase(),\n slug: getPostSlug(post),\n },\n }\n : null;\n })\n .filter((p: { params: { team: string; slug: string } } | null) => !!p);\n\n return {\n paths: postPaths ?? [],\n fallback: \"blocking\",\n };\n}\n","import React, { Component } from \"react\";\n\nimport { Box } from \"@mui/material\";\n\nimport type { ErrorInfo, ReactNode } from \"react\";\n\ninterface Props {\n children: ReactNode;\n}\n\ninterface State {\n error: Error;\n errorInfo: ErrorInfo;\n}\n\n// This component is used to catch errors in the application and display an error message for that component instead of the whole application crashing.\nexport class ErrorBoundary extends Component {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n constructor(props: any) {\n super(props);\n this.state = { error: null, errorInfo: null };\n }\n\n componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n // Catch errors in any components below and re-render with error message\n this.setState({\n error,\n errorInfo,\n });\n // You can also log error messages to an error reporting service here\n }\n\n render() {\n if (this.state.errorInfo) {\n // Error path\n return (\n \n

Something went wrong.

\n
\n {this.state.error && this.state.error.toString()}\n
\n {this.state.errorInfo.componentStack}\n
\n
\n );\n }\n\n // Normally, just render children\n return this.props.children;\n }\n}\n","import { useMemo, useEffect, useRef, type PropsWithChildren } from \"react\";\n\nimport { ThemeProvider } from \"@mui/system\";\n\nimport { useThemeContext } from \"theme/context/base\";\nimport { setThemeClasses } from \"theme/context/tailwind\";\nimport { siteTheme, baseTheme } from \"theme/mui-theme\";\n\ninterface Props {\n team?: string;\n mode?: \"light\" | \"dark\";\n}\n\nexport const ThemeWrapper = ({\n children,\n team,\n mode,\n}: PropsWithChildren) => {\n const { themes, mode: themeMode } = useThemeContext();\n const ref = useRef(null);\n\n const customMode = mode ?? themeMode;\n\n const theme = useMemo(\n () =>\n themes ? siteTheme(themes, customMode, team) : baseTheme(customMode),\n [themes, team, customMode]\n );\n\n useEffect(() => {\n setThemeClasses(customMode, themes, team, ref.current);\n }, [customMode, themes, team]);\n\n return (\n \n {children}\n \n );\n};\n"],"names":["window","__NEXT_P","push","__webpack_require__","PostsScroller","dynamic","Promise","all","e","then","bind","ssr","loading","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","ArticleSkeleton","genericAds","dflex1","adUnit","size","sizeMaps","flexBoxLarge","divId","mflex1","mobile","getTeamAds","concat","teamName","__webpack_exports__","post","team","props","param","search","useSearchParams","userGroupWithPermissions","userStatus","useUserContext","currentPostTitle","setCurrentPostTitle","useState","title","useDocumentTitle","shortName","highlighted","useMemo","get","ThemeWrapper","undefined","slug","Page","breadCrumbsProps","currentPage","override","Video","ErrorBoundary","id","adSlots","Component","componentDidCatch","error","errorInfo","setState","render","state","jsxs","Box","h2","details","style","whiteSpace","toString","br","componentStack","children","constructor","mode","themes","themeMode","useThemeContext","ref","useRef","customMode","theme","siteTheme","baseTheme","useEffect","setThemeClasses","current","span","className","ThemeProvider"],"sourceRoot":""}